package de.gameduell.framework.application.controller {
	import de.gameduell.framework.application.Settings;
	import de.gameduell.framework.game.cheat.CheatDetection;
	import de.gameduell.framework.util.HashMap;
	import de.gameduell.net.src.communication.ICommunication;
	
	import flash.events.Event;
	import flash.events.IEventDispatcher;	

	/**
	 * @author cbra
	 */
	public interface IController extends IEventDispatcher {
		function setCommunication(aCommunication:ICommunication):void;
		function setSettings(aSettings:Settings):void;
		function setCheatDetection(aCheatDetection:CheatDetection):void;
		function get cheatDetection():CheatDetection;
		function get tipsEnabled():Boolean;
		function get isReconnecting():Boolean;
		function set isStandalone(standalone:Boolean):void;
		function get isStandalone():Boolean;
		function set tipsEnabled(isEnabled:Boolean):void;
		function set slotid(id:int):void;
		function get slotid():int;
		function sendAbort():void;
		function sendError(errorCode:String, dump:String = "noinfo"):void;
		function exit(event:Event = null):void;
	}
}
